package com.jhy.review.leetcode;

import java.util.HashMap;

public class code01_FirstTwoSum {
    public int[] twoSum(int[] nums, int target) {
        // 方法一暴力
        int[] index = new int[2];
        int length = nums.length;
        for(int i = 0; i < length; i ++) {
            for(int j = i+1; j < length; j++) {
                if(nums[i] + nums[j] == target) {
                    index[0] = i;
                    index[1] = j;
                }
            }
        }
        return index;
    }
    // 方法二 hashmap

    public int[] twoSum2(int[] nums, int target) {
        // 声明一个map集合
        HashMap<Integer,Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            Integer j =  target - nums[i];
            if(map.containsKey(j)){
                return new int[]{i,map.get(j)};
            }
            // 这个map要在这里面添加 不能再外面创建好了后添加
            // 因为有重复数字的话，结果就不准确
            map.put(nums[i],i);
        }
        return new int[0];

    }



}
